home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 014 / zoo140.arc / ZOOUP140.DOC < prev   
Encoding:
Text File  |  1987-01-24  |  9.5 KB  |  205 lines

  1.                           Zoo archiver version 1.40
  2.                                      by
  3.                                 Rahul Dhesi
  4.  
  5. Zoo version 1.40 for MS-DOS, being distributed in executable form, is public
  6. domain software.
  7.  
  8.                           NEW FEATURES IN ZOO 1.40
  9.  
  10. 1.   SUBDIRECTORY SUPPORT
  11.  
  12. Zoo 1.40 normally stores the complete pathname of each archived file.  If the
  13. ":" modifier is given the pathname is not stored.
  14.  
  15. At extraction time, Zoo 1.40 normally extracts each file into the current
  16. directory.  If the "/" modifier is given, Zoo will attempt to extract each
  17. file into the directory required by the complete stored pathname of the
  18. file, but the directory path preceding the filename must already exist.  If
  19. the modifier is doubled as "//", the directory path need not already exist
  20. and is created if necessary.
  21.  
  22. Another modifier "." tells Zoo 1.40 to restore files relative to the current
  23. directory whenever the pathname begins with "/".  For example, if a stored
  24. file has the pathname "/doc/misc/zoo.doc", then the "." modifier will tell
  25. Zoo to restore the file to the pathname "./doc/misc/zoo.doc" instead.  The
  26. "." modifier has no effect on pathnames that do not begin with "/".
  27.  
  28. Examples:
  29.  
  30.      The command "zoo a myzoo /bin/*.*" archives all files in /bin and
  31.      stores their full pathnames in the archive.  The command
  32.      "zoo a: myzoo /bin/*.*" archives the same files but does not store
  33.      their full pathnames.
  34.  
  35.      The command "zoo x myzoo" extracts all archived files into the current
  36.      directory.
  37.  
  38.      The command "zoo x/ myzoo" extracts archived files to the full pathname
  39.      of each file.  However, if any needed directory does not exist, an
  40.      error message is given and the file is not extracted.
  41.  
  42.      The command "zoo x// myzoo" does the same, except that if a needed
  43.      directory does not exist, it is created.
  44.  
  45.      The command "zoo x/. myzoo" extracts each file relative to the current
  46.      directory.  Thus, the archived file "/bin/zoo.exe" is actually
  47.      extracted as "./bin/zoo.exe" and the ./bin subdirectory must already
  48.      exist.
  49.  
  50.      The command "zoo x//. myzoo" does the same, except that if ./bin does
  51.      not exist, it is created.
  52.  
  53. 2.   WILDCARD SUPPORT
  54.  
  55. Zoo 1.40 continues to accept the enhanced wildcards of earlier versions but
  56. these are now further improved to handle pathnames.  Normally, a wildcard
  57. match is attempted only against the filename part of the entire pathname.
  58. But if a wildcard contains a slash ("/") anywhere in it, the match is
  59. attempted against the full pathname.  (Note:  When files are being added to
  60. an archive, any directory prefix must be supplied exactly.  Wildcards in the
  61. directory prefix are accepted only when selecting a file already in an
  62. archive.)
  63.  
  64. If the match is against the full pathname, the slash separating the directo-
  65. ry prefix and the filename must be given explicitly.  Thus the pathname
  66. "/doc/zoo.txt" will not be selected by the pattern "/*.txt" but it will be
  67. selected by the patterns "*/*.txt" and "/*/*.txt".
  68.  
  69. By default, a dot in the filename must be explicitly matched.  If an archive
  70. contains filenames with non-MS-DOS syntax (which may allow multiple dots in
  71. filenames), only the last dot in the filename is required to be explicitly
  72. specified.  However, if a wildcard contains two consecutive asterisks
  73. ("**"), the dot is no longer special.
  74.  
  75. Backslashes are also accepted instead of slashes.
  76.  
  77. The purpose behind some of these seemingly arbitrary restrictions is to
  78. avoid surprising MS-DOS users, yet allow for reasonably flexible pattern
  79. matching either just on a filename or on an entire pathname.
  80.  
  81. Examples of matches against the pathname "/batch/test.bat":
  82.  
  83.      The pattern "*.bat" matches because only the filename part of the path
  84.      is tested.  The pattern "*/*.bat" matches because both the directory
  85.      prefix and the filename separately match.
  86.  
  87.      The pattern "*/*" does not match because the dot must be explicitly
  88.      matched.  The patterns "**/*" and "*/**" both match because the
  89.      presence of "**" means the dot is no longer special.
  90.  
  91.      The pattern "*" does not match because the dot is special.  The pattern
  92.      "**" matches because the double "**" causes the dot to not be special.
  93.      For the same reason, "*t.*" and "**t*" match but "*t*" does not.
  94.  
  95. 3.   COMPATIBILITY WITH PREVIOUS VERSIONS
  96.  
  97. Previous versions of Zoo will extract files from any archive created by
  98. version 1.40, but will refuse to modify such archives except for deleting or
  99. undeleting files.  Instead, they will print a message warning the user that
  100. Zoo version 1.40 is needed to fully manipulate the archive.
  101.  
  102. 4.   LONG FILENAME SUPPORT
  103.  
  104. Although MS-DOS supports only short filenames, the portable version Zoo
  105. version 1.40 can create archives containing filenames (and directory names)
  106. of up to 255 characters each.  Zoo 1.40 for MS-DOS will list the full
  107. filename or directory name in such archives, but will use an appropriate
  108. short filename for extraction.
  109.  
  110. The "f" modifier to the archive list commands still yields a columnized
  111. listing containing only short filenames.
  112.  
  113. 5.   ERROR CHECKING IN DIRECTORY ENTRIES
  114.  
  115. Previous versions of Zoo maintain a CRC (cyclic redundancy code) for the
  116. file data, but not one for the internal directory format itself.  Zoo 1.40
  117. now additionally maintains a CRC for all the fields of the internal
  118. directory structure of the archive.  This CRC is checked every time an
  119. archive listing is obtained.  If a CRC error is detected, a warning message
  120. points out the file for which the directory information is incorrect.
  121.  
  122. A spurious indication of error will occur when Zoo 1.40 is used to list an
  123. archive in which files were deleted or undeleted with an earlier version of
  124. Zoo.
  125.  
  126. Packing an archive rewrites all directory entries and eliminates any CRC
  127. errors in them.
  128.  
  129. An error detected in a directory entry does not imply anything about the
  130. correctness of the file itself.  If the file can be extracted normally
  131. without a CRC error, it is probably not corrupted.
  132.  
  133. 6.   FILENAME SYNTAX CORRECTION
  134.  
  135. If Zoo 1.40 detects corruption of a filename in an archive, it fixes the
  136. filename to correspond to legal MS-DOS format before it extracts the file.
  137. Thus if a Zoo archive was created on another system and if the archive
  138. creation program did not rigorously follow the Zoo archive specification,
  139. the file can still be extracted on an MS-DOS system.
  140.  
  141. 7.   MULTIPLE ARCHIVE LISTINGS
  142.  
  143. The new command L accepts a list of archive names, each of which may contain
  144. wildcards.  This is specially useful in conjunction with the "a" modifier,
  145. which makes it possible to get a combined listing of archives in multiple
  146. directories, e.g.:
  147.  
  148. "zoo La /new/*.zoo /*.zoo a:*.zoo /doc/*.zoo /upload/*.zoo /download/*.zoo".
  149.  
  150. 6.   OTHER POINTS TO NOTE
  151.  
  152. 1.   Packing an archive does not cause filenames to be listed.
  153.  
  154. 2.   To permit use in networking and multitasking environments, Zoo 1.40
  155.      creates a unique temporary filename to hold a partially packed archive
  156.      until packing is complete.
  157.  
  158. 3.   Before addition to an archive, names of selected files are sorted into
  159.      alphabetic order on the entire pathname.  A future version will let the
  160.      user select whether to sort by pathname or by filename.
  161.  
  162. 4.   If a file called "+" exists in an archive, Zoo 1.40 will not be able to
  163.      selectively extract or list it, since the filename "+" is currently
  164.      reserved for future use in a special way.  Such a file can still be
  165.      selected with the wildcards "?" and "*".
  166.  
  167. 5.   When Zoo adds a file to an archive, it marks as deleted any previously-
  168.      archived file with the same name.  This is done even if the two files
  169.      have different directory prefixes.  If you deliberately wish to archive
  170.      files from different directories that have the same names, proceed as
  171.      usual, then simply use the U command to undelete all files.
  172.  
  173. 6.   Wildcard matching is not entirely consistent between different
  174.      commands.  Please confirm that a supplied pattern does indeed match the
  175.      desired files.
  176.  
  177.                                 USAGE HINTS
  178.  
  179. Zoo 1.40 allows you to archive a directory hierarchy and later restore it to
  180. another disk or another computer system.  For example, if you would like
  181. help a friend set organize his or her hard disk, you need only create a
  182. similar disk hierarchy on any other system and archive the files.  When the
  183. archive is extracted with the "x//" command, the original directory
  184. hierarchy will be recreated with all files in their place.
  185.  
  186. Currently Zoo 1.40 does not recursively archive files in subdirectories of a
  187. directory.  This capability is planned for a future version.  However, a
  188. command line need only specify the name of each directory to be archived,
  189. with a trailing slash.  For example, the command "zoo a hier / /bin/ /doc/
  190. /tmp/ /tmp/scr/ /tmp/scr/junk/" will archive all files in each of the
  191. specified directories.
  192.  
  193.                              FUTURE DIRECTIONS
  194.  
  195. The document "zoofmt.doc", already distributed with the source package for
  196. version 1.31, describes the current and proposed Zoo archive format in
  197. detail.  Zoo 1.40 implements a subset of that format.  Features targeted for
  198. future implementation include:  automatic newline conversion of text files
  199. at extraction time;  Macintosh data and resource forks (earlier versions of
  200. Zoo will transparently extract the data fork);  preservation of timezone and
  201. file attributes;  multiple file versions;  and files split across archives.
  202.  
  203.  
  204.                                     -- Rahul Dhesi 1987/01/24
  205.